#pragma once

#include "gui.h"

// Label 类，表示一个文本标签
class Label
{
private:
  lv_obj_t* this_object;  // LVGL 对象指针，表示当前标签
  UI_Object* parent = NULL;  // 父对象指针
  lv_style_t font_style;  // 字体样式

public:
  // 构造函数，初始化标签
  Label(UI_Object* parent);

  // 析构函数，释放资源
  ~Label();

  // 获取 LVGL 对象指针
  lv_obj_t* get_lv_obj_t();

  // 设置标签的文本内容和颜色
  void set_text(const char* text, uint32_t color);

  // 设置标签的字体
  void set_font(const lv_font_t* font);

  // 设置标签的位置
  void set_pos(lv_coord_t x, lv_coord_t y);

  // 以下代码被注释掉，可以用于设置文本对齐方式
  // void set_text_align(lv_label_align_t align);
};